from dataclasses import dataclass


@dataclass()
class OptionsForSecretsdump:
    bootkey = None
    can_process_SAM_LSA = True
    dc_ip = None
    debug = False
    exec_method = "smbexec"
    hashes = None
    is_remote = True
    just_dc = True
    just_dc_ntlm = False
    k = False
    no_lmhash = True
    ntds = None
    sam = None
    security = None
    system = None
    target = None
    target_ip = None
    use_vss = False

    def __init__(
        self,
        dc_ip=None,
        just_dc=True,
        sam=None,
        security=None,
        system=None,
        target=None,
        target_ip=None,
    ):
        # dc_ip is assigned in get_original_pwd_nthash() and get_admin_pwd_hashes() in
        # ../zerologon.py
        self.dc_ip = dc_ip
        # just_dc becomes False, and sam, security, and system are assigned in
        # get_original_pwd_nthash() in ../zerologon.py
        self.just_dc = just_dc
        self.sam = sam
        self.security = security
        self.system = system
        # target and target_ip are assigned in get_admin_pwd_hashes() in ../zerologon.py
        self.target = target
        self.target_ip = target_ip
